package com.cloud.DrugManagement.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.cloud.DrugManagement.enums.OrderState;
import com.cloud.DrugManagement.pojo.OrderDetails;

/**
 * @author zhozixiong
 * @date 2023/02/11
 */
public interface OrderDetailsService extends IService<OrderDetails> {

    /**
     * 新增订单
     * @param orderDetails 订单基本信息
     * @return 是否新增成功
     */
    boolean insert(OrderDetails orderDetails);

    /**
     * 修改订单状态
     * @param orderState 订单状态
     * @param oid 订单编号
     * @return 是否修改成功
     */
    boolean updateStateByOid(OrderState orderState, Long oid);

    /**
     * 提交订单
     * @param oid 订单编号
     * @return 是否提交成功
     */
    boolean updateCreationTimeStateByOid(Long oid);

    /**
     * 删除订单
     * @param oid 订单编号
     * @return 是否删除成功
     */
    boolean delByOid(long oid);

    /**
     * 查询指定订单单目
     * @param oid 订单编号
     * @return 订单基础信息
     */
    OrderDetails searchAllByOid(long oid);

    /**
     * 查询订单列表
     * @param pages 要查询的页面
     * @param oid 订单编号
     * @return 订单列表
     */
    Page<OrderDetails> searchAllOrOid(int pages, Long oid);
}
